import * as http from "@/utils/request";

/**
 * 新增商品
 * @param {*} params 
 * @returns 
 */
export function add(params){
  return http.post('/api/admin/Product/Add',params);
}

/**
 * 根据Id获取一个商品
 * @param {*} id 
 * @returns 
 */
export function getProductSingleById(id){
  return http.get('/api/admin/Product/GetProductSingleById',{id});
}

/**
 * 更新商品
 * @param {*} params 
 * @returns 
 */
export function updateProduct(params){
  return http.post(`/api/admin/Product/Update/`, params);
}

/**
 * 获取所有商品
 * @param {number} categoryId - 分类ID，默认值为 0，表示所有分类
 * @param {string} keyword - 关键词，默认值为 null，表示不筛选关键词
 * @returns {Promise<Object>} - 包含请求状态和数据的 Promise 对象
 */
 export function getAllProduct(pageIndex = 0,pageSize = 20,categoryId = 0, keyword = null) {
  return http.get(`/api/admin/Product/GetAll?pageIndex=${pageIndex}&pageSize=${pageSize}&categoryId=${categoryId}&keyword=${keyword}`);
}

/**
 * 根据 ID 删除商品
 * @param {number} id - 商品 ID
 * @returns {Promise<Object>} - 包含请求状态和数据的 Promise 对象
 */
 export function deleteProductById(id) {
  return http.get(`/api/admin/Product/Delete?id=${id}`);
}

/**
 * 改变商品发布状态
 * @param {number} id 
 * @param {boolean} display 
 * @returns 
 */
 export function changePublish(id,publish){
  return http.get('/api/admin/Product/ChangePublish',{id,publish});
}

/**
 * 改变首页展示状态
 * @param {number} id 
 * @param {boolean} display 
 * @returns 
 */
 export function changeHomeShow(id,state){
  return http.get('/api/admin/Product/ChangeHomeShow',{id,state});
}